% 计算给定的模值图像的局部最大值
% Mod: 模值图像
% Arg: 幅角图像
function Mod_after_max = do_modmax( Mod, Arg )

	Mod_after_max=Mod;
	[Row_Num, Col_Num]=size( Mod );

	for I = 2:Row_Num-1
		for J = 2:Col_Num-1
			if Arg(I, J) >= -pi/8 && Arg(I, J) < pi/8 && ( Mod(I, J) <=  Mod(I+1, J) || Mod(I, J) <=  Mod(I-1, J))
				% 横向梯度最大
					Mod_after_max(I, J) = 0;
			end
			if Arg(I, J) >= pi/8 && Arg(I, J) < 3*pi/8 && ( Mod(I, J) <=  Mod(I-1, J-1) ||  Mod(I, J) <=  Mod(I+1, J+1))
				% 左下到右上
					Mod_after_max(I, J) = 0;
			end
			if Arg(I, J) >= -3*pi/8 && Arg(I, J) < -pi/8 && ( Mod(I, J) <=  Mod(I+1, J-1) ||  Mod(I, J) <=  Mod(I-1, J+1))
				% 左上到右下
					Mod_after_max(I, J) = 0;
			end
			if (Arg(I, J) < -3*pi/8 || Arg(I, J) >=  3*pi/8) && ( Mod(I, J) <=  Mod(I, J+1) ||  Mod(I, J) <=  Mod(I, J-1))
				% 纵向梯度最大
					Mod_after_max(I, J) = 0;
			end
		end
	end

end
